package com.naiterui.ehp.bs.doctor.fegin;

import java.util.List;
import java.util.Set;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import com.naiterui.ehp.bp.bo.consult.SuperviseVideoBO;
import com.naiterui.ehp.bp.bo.consult.VideoConsultBO;
import com.naiterui.ehp.bp.support.config.FeignConfiguration;

/**
 * @author luao
 * @date 2021/2/26 11:02 上午
 **/
@FeignClient(name = "adVideoConsult", url = "${ehp.domain.videoConsult}", configuration = FeignConfiguration.class)
public interface VideoConsultFeignClient {
    @PostMapping("/inner/video/consult/getVideoConsults")
    List<VideoConsultBO> getVideoConsult(@RequestBody Set<Long> videoConsultIds);

    @GetMapping("/inner/video/consult/getVideoConsultById")
    VideoConsultBO getVideoConsultById(@RequestParam Long videoConsultId);

    /**
     * 根据医生id和问诊状态获取视频问诊数量
     * @param doctorId
     * @param status
     * @return
     */
    @GetMapping("/inner/video/consult/status/count")
    Integer getVideoConsultCountByStatus(@RequestParam("doctorId")  Long doctorId,@RequestParam("status") Integer status);

    /**
     * （医生端1.1优化）
     * 根据医生id获取视频问诊订单
     * @param doctorId
     * @return
     */
    @PostMapping("/inner/video/consult/getOrderByDoctorId")
    List<VideoConsultBO> getOrderByDoctorId(@RequestParam("doctorId") Long doctorId);

    @GetMapping("/inner/supervise/recom/info")
    SuperviseVideoBO getVideoSuperviseInfo(@RequestParam("start") String start, @RequestParam("end") String end);
}
